﻿using DBUtil.MetaData;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using Index = DBUtil.MetaData.Index;

namespace DBUtil.Provider.Oracle;

public class OracleManage : DBManage
{
    /// <summary>
    /// 根据DBAccess创建DBManage
    /// </summary>
    /// <param name="db"></param>
    public OracleManage(DBAccess db) : base(db) { }

    public override string AddColumnSql(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string DropColumnSql(string tablePureName, string columnPureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string DropProcedureIfExistSql(string procPureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string DropTableIfExistSql(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string DropTriggerIfExistSql(string triggerPureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> GenerateCodeAsync(string tablePureName, string schemaPureName)
    {
        throw new NotImplementedException();
    }

    public override Task<string> GenerateCreateTableSqlAsync(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task GenerateCreateTableSqlBatchAsync(Stream stream, IEnumerable<string> tableQuotedNames, bool includeInsertSql = false)
    {
        throw new NotImplementedException();
    }

    public override Task<(long exportCount, string sql, long totalCount)> GenerateInsertSqlAsync(string tableQuotedName, int limitCount = 0, string filter = null, string order = null)
    {
        throw new NotImplementedException();
    }

    public override Task<long> GenerateInsertSqlAsync(Stream stream, string tableQuotedName, int limitCount = 0, string filter = null, string order = null)
    {
        throw new NotImplementedException();
    }

    public override Task<long> GenerateInsertSqlFileAsync(string fileAbsPath, string tableQuotedName, int limitCount = 0, string filter = null, string order = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> RemoveColumnDefaultSql(string tablePureName, string colPureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string RemovePrimaryKeySql(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string RenameColumnSql(string tablePureName, string oldPureName, string newPureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string RenameTableSql(string oldTablePureName, string newTablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string SetPrimaryKeySql(string tablePureName, string schemaPureName = null, params string[] colPureNames)
    {
        throw new NotImplementedException();
    }

    public override Task<List<Table>> ShowCurrentSchemaTablesAsync()
    {
        throw new NotImplementedException();
    }

    public override Task<List<View>> ShowCurrentSchemaViewsAsync()
    {
        throw new NotImplementedException();
    }

    public override Task<List<Function>> ShowFunctionsAsync(string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<List<Procedure>> ShowProceduresAsync(string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<List<Sequence>> ShowSequencesAsync(string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<List<Column>> ShowTableColumnsAsync(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<List<DBUtil.MetaData.Constraint>> ShowTableConstraintsAsync(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<Table> ShowTableDetailAsync(string tablePureName, string schemaPureName = null, EnumTableDetailType detailType = EnumTableDetailType.All)
    {
        throw new NotImplementedException();
    }

    public override Task<List<Index>> ShowTableIndexesAsync(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<List<Table>> ShowTablesAsync(string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<List<Trigger>> ShowTableTriggersAsync(string tablePureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<View> ShowViewDetailAsync(string viewPureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<List<View>> ShowViewsAsync(string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> UpdateColumnDefaultSql(string tablePureName, string colPureName, string defaultString, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> UpdateColumnDescriptionSql(string tablePureName, string colPureName, string description, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> UpdateColumnIdentitySql(string tablePureName, string colPureName, bool isIdentity, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> UpdateColumnNullAbleSql(string tablePureName, string colPureName, bool isNullAble, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> UpdateColumnSql(string tablePureName, string colPureName, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> UpdateColumnTypeSql(string tablePureName, string colPureName, string typeString, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override Task<string> UpdateColumnUniqueSql(string tablePureName, string colPureName, bool isUnique, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string UpdateConstaintSql()
    {
        throw new NotImplementedException();
    }

    public override string UpdateIndexSql()
    {
        throw new NotImplementedException();
    }

    public override string UpdateTableDescriptionSql(string tablePureName, string description, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }

    public override string UpdateTriggerSql()
    {
        throw new NotImplementedException();
    }

    public override string UpdateViewDescriptionSql(string viewPureName, string description, string schemaPureName = null)
    {
        throw new NotImplementedException();
    }
}
